// 使用 Mock
const Mock = require('mockjs')

/**======================================================================================
 * 方法作用：模拟用户列表数据
 ======================================================================================*/
const dataList = []
for (let i = 0; i < 15; i++) {
    dataList.push(Mock.mock({
        'id': '@increment',
        'name': '@cname',
        'phone': /^1[0-9]{10}$/,
        'email': '@email',
        'address': '@county(true)',
        'birthday': '@date("yyyy-MM-dd")',
        'status':1
    }))
}
/**======================================================================================
 * 方法作用：模拟用户列表数据 ，查询所有用户  pattern是请求的url ，post是请求方式 ， opts是请求参数
 ======================================================================================*/
Mock.mock(new RegExp('/user/list'), 'post', (opts) => {
    //返回分页结果
    return {
        'total': dataList.length,
        'data': dataList
    }
});
/**======================================================================================
 * 方法作用：模拟用户列表数据 ，带分页的查询
 ======================================================================================*/

//开始的位置 size 每页显示的条数 list 总结数据
function pagination(page, size, list) {
    // page = 2 size 10   list.slice(10,20)
    return list.slice((page-1)*size, page*size)
}


// 获取用户列表 opts：参数
Mock.mock(new RegExp('/user/page'), 'post', (opts) => {
    //列表所有数据
    let list =dataList;
    //当前页
    const page = JSON.parse(opts.body).page || 1;
    //每页条数
    const size = JSON.parse(opts.body).size || 10;
    //总条数
    const total = list.length
    //枫叶后的列表数据
    list = pagination(page, size, list)

    //返回分页结果
    return {
        'total': total,
        'data': list
    }
});
/**======================================================================================
 * 方法作用：模拟用户列表删除
 ======================================================================================*/
Mock.mock(new RegExp('/user'), 'delete', (opts) => {
    console.log(opts);
    return {
        "success":false,
        "message":"无效的ID"
    }
});

Mock.mock(new RegExp('/users'), 'delete', (opts) => {
    console.log(opts);
    return {
        "success":true,
        "message":"删除成功"
    }
});


/**======================================================================================
 * 方法作用：模拟用户列表添加，post用作添加
 ======================================================================================*/
Mock.mock(new RegExp('/user'), 'post', (opts) => {
    console.log(opts);
    return {
        "success":true,
        "message":"添加成功"
    }
});
/**======================================================================================
 * 方法作用：模拟用户列表修改 ，put用作修改
 ======================================================================================*/
Mock.mock(new RegExp('/user'), 'put', (opts) => {
    console.log(opts);
    return {
        "success":true,
        "message":"修改成功"
    }
});
